package com.freemalll.merchant.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.freemalll.merchant.common.AbstractBaseEntity;
import com.freemalll.merchant.common.CompareField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;

/**
 * <p>
 * 商户费率新表
 * </p>
 *
 * @author songshixiong
 * @since 2025-06-04
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("mer_merchant_rate_manage")
@Schema(description = "MerMerchantRateManage对象")
public class MerMerchantRateManage extends AbstractBaseEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "mer_rate_id", type = IdType.ASSIGN_UUID)
    @CompareField(value = "mer_rate_id", skip = true)
    private String merRateId;

    @Schema(description = "所属商户")
    @TableField("mer_id")
    @CompareField(value = "mer_id", skip = true)
    private String merId;

    @Schema(description = "所属资方")
    @TableField("source_id")
    @CompareField(value = "source_id", skip = true)
    private String sourceId;

    @Schema(description = "费率配置主键")
    @TableField("rate_id")
    @CompareField(value = "rate_id", skip = true)
    private String rateId;

    @Schema(description = "模版编码")
    @TableField("template_code")
    @CompareField(value = "template_code", skip = true)
    private String templateCode;

    @Schema(description = "模版名称")
    @TableField("template_name")
    @CompareField("template_name")
    private String templateName;

    @Schema(description = "息费模式 ")
    @TableField("interest_and_fee_model")
    //COMMERCIAL_STICKERS:商贴 GUEST_POST：客贴 INTEREST_PER_MENS：月息 BUSINESS_MONTH：商月
    @CompareField("interest_and_fee_model")
    private String interestAndFeeModel;

    @Schema(description = "息费模式明细")
    @TableField("interest_and_fee_detail_model")
    //COMMERCIAL_STICKERS:商贴 GUEST_POST：客贴 INTEREST_PER_MENS：月息
    @CompareField("interest_and_fee_detail_model")
    private String interestAndFeeDetailModel;

    @Schema(description = "是否启用")
    @TableField("enable_flag")
    private Boolean enableFlag;

}
